# coding:utf-8

# A
# abs() --> value >= 0
print('8=', abs(4*8-9/8))  # 8= 30.875

# aiter() ??

# all(tuple/list) --> bool
# 版本：该函数在python2.5版本首次出现，适用于2.5以上版本，包括python3，兼容python3版本。
print('0=', all([0, False, None, '']))  # False
print('1=', all([]))  # True
print('2=', all(()))  # True

# any() --> bool
print('3=', any([0, 1]))  # True
print('4=', any([]))  # False
print('5=', any(()))  # False

# B
# basestring()
# basestring是str和unicode的超类（父类），也是抽象类，因此不能被调用和实例化
# 版本：python2.3版本以后引入该函数，兼容python2.3以后python2各版本。
# 注意：python3中舍弃了该函数，所以该函数不能在python3中使用。

# bin(i:int) --> binary str
# 版本：bin函数是python2.6中新增函数，使用时要注意版本问题。
print('6=', type(bin(1)), bin(98))  # 6= <class 'str'> 0b1

# bool() --> bool
# 版本：在python 2.2.1中引入的新函数，在python2.3以后如果不传参数则返回False。
print('7=', bool(), bool([]), bool([0]))  # 7= False False True



# H
# help()
import re
# print(type(re), re)
# <class 'module'> <module 're' from '/usr/lib/python3.6/re.py'>
# print('RE type=', type(help(re)))
# RE type= <class 'NoneType'>
# help(re.compile)

# input()

# D
dir()
print('8=', dir())
# 8= ['__annotations__', '__builtins__', '__cached__', '__doc__',
# '__file__', '__loader__', # '__name__', '__package__', '__spec__', 're']
for x in dir():
    print(x, '=', eval(x))
# __annotations__ = {}
# __builtins__ = <module 'builtins' (built-in)>
# __cached__ = None
# __doc__ = None
# __file__ = /home/odoo/python-dev/python_interview_exercise/python_libs/00-builds-lib.py
# __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7f8418aa9198>
# __name__ = __main__
# __package__ = None
# __spec__ = None
# re = <module 're' from '/usr/lib/python3.6/re.py'>

# E
# eval()
list()
dict()
float()
int()
str()

max([10])
min([10])
map()
sorted([10])

print()
# setattr()
zip()
# datastructrue
# List:

# Dictory:

# Tuple: